package com.CST.service;


import com.CST.common.api.Response;
import com.CST.common.api.ResultObject;
import com.CST.entity.BdEnumFuzzy;
import com.CST.entity.BdEnumdetail;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 详情字典表 服务类
 * </p>
 * @author ly
 * @since 2021-09-23
 */
public interface IBdEnumdetailService extends IService<BdEnumdetail> {

    /**
     * 获取数据
     * @param entity
     * @return
     */
    List<BdEnumdetail>  getEnumDetailSource(BdEnumdetail entity);



    /**
     * 获取数据（模糊查询）
     * @param entity
     * @return
     */
    List<BdEnumdetail> getLikeEnumDetailSource(BdEnumdetail entity);

    /**
     * 添加数据
     * @param entity
     * @return
     */
    Response addEnumDetail(BdEnumdetail entity);

    /**
     * 修改数据
     * @param entity
     * @return
     */
    Response modifyEnumDetail(BdEnumdetail entity);

    /**
     * 设计默认规则
     * @param entity
     * @return
     */
    void setDefault(BdEnumdetail entity);

    BdEnumdetail getDefaultCode(BdEnumdetail entity);

    Response batchDeleteEnumDetail(List<Integer> ids);

    ResultObject listEnumDetailIsLink(BdEnumFuzzy entity);

    ResultObject listEnumDetailUnLink(BdEnumFuzzy entity);

    ResultObject listEnumDetail(BdEnumdetail bdEnumdetail);


    /**
     * 获取对应关系的edFirst字段
     * 根据edParentCode确定
     * @param bdEnumdetail
     * @return
     */
    List<BdEnumdetail> listEdFirstByFuzzy(BdEnumdetail bdEnumdetail);

    void exportExcelDeptSalaryRelation(HttpServletResponse response) throws ClassNotFoundException;

    void exportExcelDeptHisRelation(HttpServletResponse response) throws ClassNotFoundException;

    void exportExcelDeptUFIDARelation(HttpServletResponse response) throws ClassNotFoundException;


//    ResultObject listEnumDetailIsLinkByHIS(BdEnumdetail entity);

//    ResultObject getEnumDetailWithSalary(String edId);

//    Response updateEnumDetailWithSalaryInfo(BdEnumBaseInfo entity);

//    Response updateHisStatusByEdId(BdEnumdetail entity);
}
